<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>EasyTalk 升级程序</title>
</head>
<body>
<p>感谢您使用 EasyTalk微博客软件，本程序是<b>EasyTalk X1.1 到 EasyTalk X1.2</b>的数据库升级程序</p>
<p>○ 请复制该程序到微博客的根目录下执行</p>
<p>○ 执行完成后请通过FTP删除改文件</p>
<?php
//X1.1 到 X1.2升级文件，请执行后立即删除改文件
define('IN_ET',1);
$config=@include("config.inc.php");
@include("define.inc.php");

if ($_POST['action']=='update') {
    $conn=mysql_connect($config['DB_HOST'],$config['DB_USER'],$config['DB_PWD']);
    mysql_select_db($config['DB_NAME'],$conn);
    @mysql_query("set names utf8");

    $i=$k=0;
    //system
    $query=mysql_query("SELECT * FROM ".$config['DB_PREFIX']."system");
    while($data=mysql_fetch_array($query)){
        $system[]=$data['name'];
    }
    if (!in_array('about',$system)) {
        $i++;
        mysql_query("INSERT INTO `".$config['DB_PREFIX']."system` (`name` ,`title` ,`contents` ,`description`) VALUES ('about', '关于我们设置', '<p>EasyTalk是一个开源微博客系统，该系统稳定、高效、迅速，容易上手、管理简便，是一款值得拥有的软件。</p><p>在这里，你可以通过手机、网页等渠道随时随地发消息，时时刻刻看朋友，及时获取好友动态和更多资讯内容。</p>', '在这里面输入关于我们的描述，支持html代码')");
    }
    if (!in_array('contect',$system)) {
        $i++;
        mysql_query("INSERT INTO `".$config['DB_PREFIX']."system` (`name` ,`title` ,`contents` ,`description`) VALUES ('contect', '联系我们设置', '你可以通过以下方式来联系我们：<br/><br/><p><b>兰州乐游网络科技有限责任公司</b></p><p>● Email：<a href=\"mailto:hp5216@163.com\">hp5216@163.com</a></p><p>● QQ：365148961</p><p>● 地址：甘肃省兰州市七里河区瓜州路132号</p><p>● 微博：<a href=\"http://www.nextsns.com/et/hjoeson\" target=\"_blank\">http://www.nextsns.com/et/hjoeson</a></p><p>● 电话：0931-2611277</p>', '在这里面输入联系我们的描述，支持html代码')");
    }
    if (!in_array('join',$system)) {
        $i++;
        mysql_query("INSERT INTO `".$config['DB_PREFIX']."system` (`name` ,`title` ,`contents` ,`description`) VALUES ('join', '加入我们设置', '<b>兰州乐游网络科技有限责任公司诚聘</b>：<br/><br/><p>● PHP程序员</p><p>● AS3程序员</p><p>● FLASH原画</p><br/><p>学历不是问题，能力创造价值</p><p>工作地点：<b>兰州市</b></p>', '在这里面输入加入我们的描述，支持html代码')");
    }
    if (!in_array('ad1',$system)) {
        $i++;
        mysql_query("INSERT INTO `".$config['DB_PREFIX']."system` (`name` ,`title` ,`contents` ,`description`) VALUES ('ad1', '页头通栏广告', '', '支持HTML代码')");
    }
    if (!in_array('ad2',$system)) {
        $i++;
        mysql_query("INSERT INTO `".$config['DB_PREFIX']."system` (`name` ,`title` ,`contents` ,`description`) VALUES ('ad2', '页尾通栏广告', '', '支持HTML代码')");
    }
    if (!in_array('ad3',$system)) {
        $i++;
        mysql_query("INSERT INTO `".$config['DB_PREFIX']."system` (`name` ,`title` ,`contents` ,`description`) VALUES ('ad3', '个人空间广告', '', '支持HTML代码')");
    }
    //users
    $query2=mysql_query("show columns from ".$config['DB_PREFIX']."users like 'login_date'");
    $data2=mysql_fetch_array($query2);
    if (!$data2) {
        $i++;
        mysql_query("ALTER TABLE `".$config['DB_PREFIX']."users` ADD `login_date` INT( 10 ) NOT NULL DEFAULT '0' COMMENT '登陆统计字段' AFTER `last_login`");
    }
    //topic
    $query3=mysql_query("show columns from ".$config['DB_PREFIX']."topic like 'follownum'");
    $data3=mysql_fetch_array($query3);
    if (!$data3) {
        $i++;
        mysql_query("ALTER TABLE `".$config['DB_PREFIX']."topic` ADD `follownum` INT( 10 ) NOT NULL DEFAULT '0' COMMENT '关注人数'");
    }
    $query4=mysql_query("show columns from ".$config['DB_PREFIX']."topic like 'tuijian'");
    $data4=mysql_fetch_array($query4);
    if (!$data4) {
        $i++;
        mysql_query("ALTER TABLE `".$config['DB_PREFIX']."topic` ADD `tuijian` TINYINT( 1 ) NOT NULL DEFAULT '0' COMMENT '推荐话题'");
    }
    //tables
    $query5=mysql_query("show tables");
    while($data5=mysql_fetch_array($query5)) {
        $users[]=$data5[0];
    }
    if (!in_array($config['DB_PREFIX']."tongji",$users)) {
        $i++;
        mysql_query("CREATE TABLE IF NOT EXISTS `".$config['DB_PREFIX']."tongji` (`id` INT( 10 ) NOT NULL auto_increment,`nums` INT( 10 ) NOT NULL,`dateline` INT( 10 ) NOT NULL,`type` VARCHAR( 20 ) NOT NULL,PRIMARY KEY  (`id`)) ENGINE = MYISAM DEFAULT CHARSET=utf8");
    }
    if (!in_array($config['DB_PREFIX']."content_topic",$users)) {
        $i++;
        mysql_query("CREATE TABLE IF NOT EXISTS `".$config['DB_PREFIX']."content_topic` (`id` INT( 10 ) NOT NULL auto_increment,`topic_id` INT( 10 ) NOT NULL ,`content_id` INT( 10 ) NOT NULL,PRIMARY KEY  (`id`)) ENGINE = MYISAM DEFAULT CHARSET=utf8");
    }
    //data
    if ($i>0) {
        mysql_query("TRUNCATE TABLE ".$config['DB_PREFIX']."content_topic");
        mysql_query("TRUNCATE TABLE ".$config['DB_PREFIX']."topic");
        $query6=mysql_query("SELECT content_id,content_body FROM ".$config['DB_PREFIX']."content");
        while($data6=mysql_fetch_array($query6)){
            if (preg_match_all('~\[T\]([^\#]+?)\[\/T\]~',$data6['content_body'],$match)) {
                if (is_array($match[1])) {
                    foreach ($match[1] as $val) {
                        $query7=mysql_query("SELECT * FROM ".$config['DB_PREFIX']."topic WHERE topicname='$val'");
                        if ($data7=mysql_fetch_array($query7)) {
                            $k++;
                            mysql_query("UPDATE ".$config['DB_PREFIX']."topic SET topictimes=topictimes+1 WHERE topicname='$val'");
                            $topicid=$data7['id'];
                        } else {
                            $k++;
                            mysql_query("INSERT INTO ".$config['DB_PREFIX']."topic (topicname,topictimes) VALUES ('$val','1')");
                            $topicid=mysql_insert_id();
                        }
                        mysql_query("INSERT INTO ".$config['DB_PREFIX']."content_topic (topic_id,content_id) VALUES ('$topicid','$data6[content_id]')");
                    }
                }
            }
        }
        $query8=mysql_query("SELECT * FROM ".$config['DB_PREFIX']."mytopic");
        while($data8=mysql_fetch_array($query8)){
            $query9=mysql_query("SELECT * FROM ".$config['DB_PREFIX']."topic WHERE topicname='$data8[topic]'");
            if ($data9=mysql_fetch_array($query9)) {
                $k++;
                mysql_query("UPDATE ".$config['DB_PREFIX']."topic SET follownum=follownum+1 WHERE topicname='$data8[topic]'");
            } else {
                $k++;
                mysql_query("delete from ".$config['DB_PREFIX']."mytopic where id='$data8[id]'");
            }
        }
    }
    if (ET_VESION && ET_RELEASE && (strtolower(ET_VESION)!='x1.2' || ET_RELEASE!='20110401')) {
        save_config();
    }
    delcache();
    if ($i>0) {
        echo '<b><font color="red">恭喜您，升级成功，共执行了 '.$i.' 条升级语句，影响了 '.$k.' 条数据！</font></b>';
    } else {
        echo '<b><font color="red">您的程序已经升级过，不需要再次升级！</font></b>';
    }
    exit;
}

function delcache() {
    clearcache('./Home/Runtime');
    clearcache('./Admin/Runtime');
    mkdir('./Home/Runtime');
    mkdir('./Admin/Runtime');
    mkdir('./Home/Runtime/Cache');
    mkdir('./Home/Runtime/Data');
    mkdir('./Home/Runtime/Logs');
    mkdir('./Home/Runtime/Temp');
    mkdir('./Admin/Runtime/Cache');
    mkdir('./Admin/Runtime/Data');
    mkdir('./Admin/Runtime/Logs');
    mkdir('./Admin/Runtime/Temp');
}

function clearcache($dirName){
    if(!is_dir($dirName)){
        @unlink($dirName);
        return false;
    }
    $handle = @opendir($dirName);
    while(($file = @readdir($handle)) !== false){
        if($file != '.' && $file != '..'){
            $dir = $dirName . '/' . $file;
            is_dir($dir) ? clearcache($dir) : @unlink($dir);
        }
    }
    closedir($handle);
    return rmdir($dirName);
}

function save_config() {
	$config = "<?php
    if (!defined('IN_ET')) exit();

    // ucenter config
    define('UC_CONNECT', '".UC_CONNECT."');
    define('UC_DBHOST', '".UC_DBHOST."');
    define('UC_DBUSER', '".UC_DBUSER."');
    define('UC_DBPW', '".UC_DBPW."');
    define('UC_DBNAME', '".UC_DBNAME."');
    define('UC_DBCHARSET', '".UC_DBCHARSET."');
    define('UC_DBTABLEPRE', '".UC_DBTABLEPRE."');
    define('UC_DBCONNECT', ".UC_DBCONNECT.");
    define('UC_CHARSET', '".UC_CHARSET."');
    define('UC_KEY', '".UC_KEY."');
    define('UC_API', '".UC_API."');
    define('UC_APPID', '".UC_APPID."');
    define('UC_IP', '".UC_IP."');
    define('UC_PPP', ".UC_PPP.");

    define('ADMIN_UID', ".ADMIN_UID.");

    // vesion
    define('ET_VESION', 'X1.2');
    define('ET_RELEASE', '20110401');

    // global config
    define('ET_UC', ".(ET_UC?'TRUE':'FALSE').");                      //是否开启ucenter ，开启填写 TRUE ，关闭 填写 FALSE
    define('ET_URL','".ET_URL."');
    ?>";

	if($fp = fopen('./define.inc.php', 'w')) {
		fwrite($fp, $config);
		fclose($fp);
	}
}
?>
<?php
if (!is_array($config)) {
    echo '<b>请将该文件放置在微博客的根目录下执行</b>';
} else {
?>
<form action="update1.2.php" method="post">
<input type="hidden" name="action" value="update">
<input type="submit" value="点击升级">
</form>
<?php
}
?>
</body>
</html>